import Vue from 'vue'
import VueRouter from 'vue-router'

// 是否碰到过 vue-router 多次点击控制台报错的问题
// 原因
// vue router ≥ v3.1 后 ，回调形式改成 promise api 了，返回的是 promise，如果没有捕获到错误，控制台始终会出现如上图的警告 
// 解决方案 ：改变this指向 统一去增加catch捕获错误
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}


Vue.use(VueRouter)

const routes = [
  {
    path:"/",
    redirect:"/login" //重定向到login页
  },
  { //登录
    path:"/login",
    name:"login",
    component:()=>import("../views/Login/index.vue")
  },
  { //管理系统的架构页
     path:"/layout",
      name:"layout",
    component:()=>import("../views/Layout/index.vue")
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router
